#include <stdio.h>

// 冒泡排序函数
void bubbleSort(int arr[], int n) {
    int i, j, temp;
    // 外层循环控制排序的轮数，总共需要进行 n-1 轮
    for (i = 0; i < n - 1; i++) {
        // 内层循环用于比较相邻元素并交换位置
        for (j = 0; j < n - i - 1; j++) {
            // 如果当前元素比下一个元素大，则交换它们的位置
            if (arr[j] > arr[j + 1]) {
                // 交换 arr[j] 和 arr[j+1] 的值
                temp = arr[j];
                arr[j] = arr[j + 1];
                arr[j + 1] = temp;
            }
        }
    }
}

// 打印数组元素的函数
void printArray(int arr[], int size) {
    int i;
    for (i = 0; i < size; i++) {
        printf("%d ", arr[i]);
    }
    printf("\n");
}

int main() {
    int arr[] = {64, 34, 25, 12, 22, 11, 90};
    int n = sizeof(arr) / sizeof(arr[0]);
    printf("排序前的数组: \n");
    printArray(arr, n);
    // 调用冒泡排序函数对数组进行排序
    bubbleSort(arr, n);
    printf("排序后的数组: \n");
    printArray(arr, n);
    return 0;
}    